home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / presto / presto10.lha / src / vax_swtch.s < prev   
Text File  |  1991-12-11  |  707b  |  27 lines

  1. /*
  2.  * The vax version of swtch assumes that "this" points to a thread whose
  3.  * t_proc field points to the process object corresponding to the context in
  4.  * which swtch is executing.  Thus "this->t_proc->p_interruptible" controls
  5.  * preemption of the process executing swtch.
  6.  */
  7.  
  8.     .file    "swtch.s"
  9. .text
  10.     .data
  11.     .text
  12.     .align    2
  13.     .globl    _swtch__6ThreadFv
  14.  
  15. _swtch__6ThreadFv:
  16.     .word 0xfff        # entry mask (save regs r0-r11)
  17.     movl    4(ap), r2    # r2 = this
  18.     movl    28(r2), r3    # r3 = this->t_proc
  19.     movl    $0, 20(r3)    # this->t_proc->p_interruptible = 0
  20.  
  21.     movl    24(r2), r1    # r1 = this->t_fp
  22.     movl    fp, 24(r2)    # this->t_fp = fp
  23.     movl       r1, fp        # fp = (old)this->t_fp
  24.  
  25.     movl    $1, 20(r3)    # this->t_proc->p_interruptible = 1
  26.     ret
  27.